//二叉树的建立采用前序遍历的顺序
//将二叉树里所有结点用#补成拥有两个结点的树，那么前序遍历的结果就可以反推二叉树的结构，从而使这棵树确定下来
//采用递归的方法
#include <string>
using std::string;
struct bTree
{
    int data;
    bTree* lchild;
    bTree* rchild;
    bTree(int x=0):data(x),lchild(nullptr),rchild(nullptr){}
};
void Build_bTree(bTree* tree,const string s)
{
    static int index;
    int val=s[index++];
    
    if(!tree)   return;//遇到空指针，返回
    
    
    if(val=='#')
        tree=nullptr;
    else
    {
        tree=new bTree(int(val));
        Build_bTree(tree->lchild,s);
        Build_bTree(tree->rchild,s);
    }

}